네트워크

✒️ 2025-05-31 16:23 내용 수정


네트워크

서로 연결되어 상호작용하고 동작하는 시스템이나 구조


네트워크 통신 모델

network_communication_models.png

1. OSI(Open Systems Interconnection)

계층 이름 설명
7 응용
(Application)
출처
사용자와 네트워크 간의 상호작용을 위한 인터페이스 제공
다양한 응용 프로토콜을 사용하여 서비스 제공
6 표현
(Presentation)
출처
데이터의 인코딩/디코딩, 압축, 형식 변환, 문자코드 변환, 직렬화 처리
응용 계층 간의 데이터 교환 지원
5 세션
(Session)
출처
통신 세션을 생성, 관리 및 종료 담당
소통 제어와 동기화 서비스를 제공
4 전송
(Transport)
출처
애플리케이션의 종단 간 데이터 전송 서비스 제공
연결 지향 통신, 신뢰성 보장, 흐름제어, 다중화를 제공
TCP와 UDP 프로토콜 동작
3 네트워크
(Network)
출처
패킷 단위의 데이터 전송 담당
네트워크 전체의 라우팅과 패킷 전달
2 데이터링크
(Data Link)
출처
물리 계층을 통해 네트워크 구간에 있는 노드 간의 통신
물리 계층에서 일어날 수 있는 데이터 오류 감지와 수정 수행
로컬 네트워크 경계를 넘지 않음
1 물리
(Physical)
출처
물리적 통신 매체와 해당 매체를 통한 데이터 전송
연결된 물리 네트워크 간 비트 단위 스트림의 전송 방법 정의
실제 전기 신호, 케이블 등 물리적 특성

2. TCP/IP 모델

계층 이름 설명
4 응용
(Application)
IP 기반 컴퓨터 네트워크 상에서 프로세스 간 통신에 사용되는 통신 프로토콜과 인터페이스 방식을 포함
HTTP, FTP, SMTP 등 프로토콜 사용
3 전송
(Transport)
송신자와 수신자 사이의 데이터 전송 관리
TCP, UDP 프로토콜 사용
2 인터넷
(Internet)
출처
IP 주소를 사용하여 네트워크 패킷을 전송
IP, ICMP 등의 프로토콜 사용
1 네트워크 엑세스
(Network Access)
또는 링크
(Link)
출처
네트워크에 물리적으로 연결되는 장치와 관련됨
서로 연결된 호스트나 인접한 네트워크(Local) 간의 통신
이더넷, Wi-Fi, PPP 등의 프로토콜 사용

데이터 전송 과정

  1. 데이터 생성 : 애플리케이션에서 전송할 데이터를 준비한다. (ex: 메시지)
  2. 데이터 캡슐화 : 데이터를 분할하고, OSI 또는 TCP/IP의 각 계층에서 Header를 추가하여 데이터를 가공한다.
    • TCP 세그먼트 -> IP 패킷 -> 이더넷 프레임 순으로 캡슐화
    1. 애플리케이션 계층 : 데이터 생성
    2. 전송 계층(TCP) : 데이터를 세그먼트로 분할하고 TCP 헤더 추가한다.
    3. 네트워크 계층(IP) : TCP 세그먼트에 IP 헤더를 추가하여 데이터그램/패킷을 생성한다.
    4. 데이터 링크 계층(이더넷 등) : IP 데이터그램에 이더넷 헤더와 트레일러를 추가하여 프레임을 생성한다.
    5. 물리 계층 : 프레임을 비트 형태로 변환하여 전송 매체를 통해 보낸다.
  3. 주소 지정 : 패킷 헤더에 목적지 주소(IP주소)를 포함시켜 정확한 경로로 전달될 수 있게 한다.
  4. 라우팅 : 패킷은 네트워크 상의 다양한 라우터를 통해 목적지로 전달되며, 라우터는 목적지까지의 최적의 경로를 찾아 패킷을 전달한다.
  5. 패킷 전송 : 패킷은 물리적 네트워크 매체와 여러 네트워크 장비를 거쳐 목적지로 이동한다.
  6. 패킷 재조립 : 목적지에 도착한 패킷을 다시 원래 데이터로 재조립한다.
    • 이더넷 프레임 -> IP 패킷 -> TCP 세그먼트 순으로 역캡슐화
  7. 데이터 처리 : 수신측은 받은 데이터를 처리하고, 필요한 작업을 수행한다.

계층별 데이터 단위(PDU: Protocol Data Unit)

참고 자료 : Understanding Segments, Packets, and Frames - Data Encapsulation Serires, 위키백과 프로토콜 데이터 단위

데이터 통신에서 상위 계층이 전달한 데이터에 붙이는 제어 정보

OSI 계층 TCP/IP 계층 데이터 단위 (PDU) 설명
5,6,7 계층 (세션, 표현, 응용 계층) 응용 계층 메시지, 데이터 원본 데이터
4계층 (전송 계층) 전송 계층 세그먼트(Segment) TCP 헤더 + 애플리케이션 데이터
3계층 (네트워크 계층) 인터넷 계층 데이터그램(Datagram) 또는 패킷(Packet) IP 헤더 + TCP 세그먼트
2계층 (데이터 링크 계층) 링크 계층 프레임(Frame) 이더넷 헤더 + IP 데이터그램 + 트레일러
1계층 (물리 계층) 비트(스트림)

network_pdu.png

세그먼트(Segment)

패킷(Packet)

구성 요소 설명
헤더(Header) 패킷의 주소, 순서, 프로토콜 정보, 데이터 종류에 대한 정보 포함
페이로드(Payload) 실제 데이터
Trailer 패킷의 끝을 표시, 종종 에러 감지나 수정 정보를 포함

프로토콜과 헤더

참고 : 프로토콜, IP(Internet Protocol), TCP

  1. 이더넷 프레임의 이더넷 헤더
헤더 설명
출발지와 목적지의 MAC 주소 MAC 주소
이더넷 타입 상위 계층 프로토콜을 식별하는 값(ex: IPv4, IPv6)
  1. IP의 패킷 헤더(IPv4)
헤더 설명
사용하는 IP 버전 IPv4
출발지와 목적지의 IP 주소 xxx.xxx.xxx.xxx
인터넷 헤더 길이 상위 계층 프로토콜을 식별하는 값(ex: IPv4, IPv6)
서비스 유형
전체 길이 패킷 전체 길이
인증정보
플래그 프래그먼트 관련 플래그
Time-to-Live IP 패킷이 네트워크에 남아있을 수 있는 최대 시간
프로토콜 전송 계층 프로토콜
헤더 체크섬 패킷 헤더의 오염이나 에러에 대한 정보
기타 옵션
  1. IP의 패킷 헤더(IPv6)
헤더 설명
사용하는 IP 버전 IPv6
출발지와 목적지의 IP 주소 xxx.xxx.xxx.xxx
트래픽 클래스 패킷의 우선순위
흐름 라벨(Flow label) 패킷의 흐름 제어를 위한 라벨
페이로드 길이 패킷 전체 길이
다음 헤더
Hop limit IPv4의 TTL처럼 패킷이 폐기되기 전 지나갈 수 있는 최대 라우터 수
  1. TCP의 TCP 헤더
헤더 설명
출발지와 목적지 포트 번호
순서 번호 데이터의 순서와 재조립을 위한 번호
확인 응답 번호 패킷 수신 확인에 사용되는 일련번호
데이터 오프셋 TCP 헤더 크기
플래그 TCP 연결 설정, 종료, 데이터 전송 상태 등을 나타내는 플래그 정보
창 크기(Window size) 패킷을 받을 수 있는 창의 크기
체크섬(Checksum) 오류 검출을 위한 체크섬
긴급 포인터 긴급 데이터 바이트를 가리키는 포인터
기타 옵션

외부망과 내부망

1. 외부망

2. 내부망

종류 설명
LAN
(Local Area Network)
가까운 지역 내에서 컴퓨터 및 기타 네트워크 장치를 연결하는 내부망
출처
WLAN
(Wireless LAN)
무선 기술을 사용하여 두 대 이상의 장치를 연결하는 LAN
출처
VLAN
(Virtual LAN)
논리적으로 나눠진 가상 네트워크로, 하나의 물리적 네트워크에 여러 개의 가상 네트워크를 구성
VPN
(Virtual Private Network)
공용 인터넷을 통해 안전하게 데이터를 전송하기 위해 사용하는 가상의 사설 네트워크